home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2008 February / PCWFEB08.iso / Software / Freeware / Miro 1.0 / Miro_Installer.exe / xulrunner / python / prefs.py < prev    next >
Encoding:
Python Source  |  2007-11-12  |  9.8 KB  |  189 lines

  1. # Miro - an RSS based video player application
  2. # Copyright (C) 2005-2007 Participatory Culture Foundation
  3. #
  4. # This program is free software; you can redistribute it and/or modify
  5. # it under the terms of the GNU General Public License as published by
  6. # the Free Software Foundation; either version 2 of the License, or
  7. # (at your option) any later version.
  8. #
  9. # This program is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12. # GNU General Public License for more details.
  13. #
  14. # You should have received a copy of the GNU General Public License
  15. # along with this program; if not, write to the Free Software
  16. # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  17.  
  18. import os
  19. import util
  20.  
  21. class Pref:
  22.     def __init__(self, **kwds):
  23.         self.__dict__.update(kwds)
  24.  
  25.     def __eq__(self, other):
  26.         return self.key == other.key
  27.     def __ne__(self, other):
  28.         return self.key != other.key
  29.  
  30. # These are normal user preferences.
  31. MAIN_WINDOW_FRAME           = Pref( key='mainWindowFrame',       default=None,  platformSpecific=False )
  32. LEFT_VIEW_SIZE              = Pref( key='leftViewSize',          default=None,  platformSpecific=False )
  33. RIGHT_VIEW_SIZE             = Pref( key='rightViewSize',         default=None,  platformSpecific=False )
  34. RUN_DTV_AT_STARTUP          = Pref( key='runAtStartup',          default=False, platformSpecific=False )
  35. CHECK_CHANNELS_EVERY_X_MN   = Pref( key='checkChannelsEveryXMn', default=60,    platformSpecific=False )
  36. LIMIT_UPSTREAM              = Pref( key='limitUpstream',         default=False, platformSpecific=False )
  37. UPSTREAM_LIMIT_IN_KBS       = Pref( key='upstreamLimitInKBS',    default=12,    platformSpecific=False )
  38. UPSTREAM_TORRENT_LIMIT      = Pref( key='upstreamTorrentLimit',  default=10,    platformSpecific=False )
  39. PRESERVE_DISK_SPACE         = Pref( key='preserveDiskSpace',     default=True, platformSpecific=False )
  40. PRESERVE_X_GB_FREE          = Pref( key='preserveXGBFree',       default=0.2,     platformSpecific=False )
  41. EXPIRE_AFTER_X_DAYS         = Pref( key='expireAfterXDays',      default=6,     platformSpecific=False )
  42. DOWNLOADS_TARGET            = Pref( key='DownloadsTarget',       default=8,     platformSpecific=False )
  43. TORRENT_DOWNLOADS_TARGET    = Pref( key='TorrentDownloadsTarget',default=3,     platformSpecific=False )
  44. MAX_MANUAL_DOWNLOADS        = Pref( key='MaxManualDownloads',    default=10,    platformSpecific=False )
  45. VOLUME_LEVEL                = Pref( key='VolumeLevel',           default=1.0,   platformSpecific=False )
  46. BT_MIN_PORT                 = Pref( key='BitTorrentMinPort',     default=8500,  platformSpecific=False )
  47. BT_MAX_PORT                 = Pref( key='BitTorrentMaxPort',     default=8600,  platformSpecific=False )
  48. UPLOAD_RATIO                = Pref( key='uploadRatio',           default=2.0,   platformSpecific=False )
  49. STARTUP_TASKS_DONE          = Pref( key='startupTasksDone',      default=False, platformSpecific=False )
  50. SINGLE_VIDEO_PLAYBACK_MODE  = Pref( key='singleVideoPlaybackMode',default=False,platformSpecific=False )
  51. RESUME_VIDEOS_MODE          = Pref( key='resumeVideosMode',      default=True,  platformSpecific=False )
  52. WARN_IF_DOWNLOADING_ON_QUIT = Pref( key='warnIfDownloadingOnQuit',default=True, platformSpecific=False )
  53. TRUNCATE_CHANNEL_AFTER_X_ITEMS = Pref( key='TruncateChannelAFterXItems',  default=1000, platformSpecific=False)
  54.  
  55. # This doesn't need to be defined on the platform, but it can be overridden there if the platform wants to.
  56. SHOW_ERROR_DIALOG           = Pref( key='showErrorDialog',       default=True,  platformSpecific=True )
  57.  
  58. # Only used on particular platforms.
  59. XINE_VIZ                    = Pref( key="xineViz",               default=u"goom",platformSpecific=False )
  60.  
  61. # These can be safely ignored on non-GTK systems
  62. USE_XINE_XV_HACK  = Pref(key="UseXineXVHack", default=True, platformSpecific=False)
  63. DEFAULT_XINE_DRIVER  = Pref(key="DefaultXineDriver", default="xv", platformSpecific=False)
  64.  
  65.  
  66. # These have a hardcoded default which can be overridden by setting an
  67. # environment variable.
  68.  
  69. if 'DTV_CHANNELGUIDE_URL' in os.environ:
  70.     effectiveChannelGuide = util.unicodify(os.environ['DTV_CHANNELGUIDE_URL'])
  71. else:
  72.     effectiveChannelGuide = u'https://www.miroguide.com/'
  73.  
  74. if 'DTV_CHANNELGUIDE_FIRST_TIME_URL' in os.environ:
  75.     effectiveChannelGuideFirstTime = util.unicodify(os.environ['DTV_CHANNELGUIDE_FIRST_TIME_URL'])
  76. else:
  77.     effectiveChannelGuideFirstTime = u'https://www.miroguide.com/firsttime'
  78.  
  79. if 'DTV_VIDEOBOMB_URL' in os.environ:
  80.     effectiveVideobomb = util.unicodify(os.environ['DTV_VIDEOBOMB_URL'])
  81. else:
  82.     effectiveVideobomb = u'http://www.videobomb.com/api/submit_or_bomb'
  83.  
  84. if 'DTV_AUTOUPDATE_URL' in os.environ:
  85.     effectiveAutoupdate = util.unicodify(os.environ['DTV_AUTOUPDATE_URL'])
  86. else:
  87.     effectiveAutoupdate = u'http://www.participatoryculture.org/democracy-appcast.xml'
  88.  
  89. CHANNEL_GUIDE_URL = Pref(key='ChannelGuideURL', default=effectiveChannelGuide,
  90.                          platformSpecific=False)
  91. CHANNEL_GUIDE_FIRST_TIME_URL = Pref(key='ChannelGuideFirstTimeURL', default=effectiveChannelGuideFirstTime,
  92.                          platformSpecific=False)
  93. CHANNEL_GUIDE_ALLOWED_URLS = Pref(key='ChannelGuideAllowedURLs', default='',
  94.                                   platformSpecific=False)
  95. ADDITIONAL_CHANNEL_GUIDES = Pref(key='additionalChannelGuides', default='',
  96.                                   platformSpecific=False)
  97. VIDEOBOMB_URL     = Pref(key='VideobombURL',    default=effectiveVideobomb,
  98.                          platformSpecific=False)
  99. AUTOUPDATE_URL    = Pref(key='AutoupdateURL',   default=effectiveAutoupdate,
  100.                          platformSpecific=False)
  101. DONATE_URL        = Pref(key='DonateURL', default=u"http://www.getdemocracy.com/donate/",
  102.                          platformSpecific=False)
  103. HELP_URL          = Pref(key='HelpURL', default=u"http://www.getdemocracy.com/help/",
  104.                          platformSpecific=False)
  105. BUG_REPORT_URL    = Pref(key='ReportURL', default=u"http://www.getmiro.com/bug.html",
  106.                          platformSpecific=False)
  107. # These can be safely ignored on platforms without minimize to tray
  108. MINIMIZE_TO_TRAY = \
  109.     Pref(key='MinimizeToTray',   default=True, platformSpecific=False)
  110. MINIMIZE_TO_TRAY_ASK_ON_CLOSE = \
  111.     Pref(key='MinimizeToTrayAskOnClose', default=True, platformSpecific=False)
  112.  
  113. # These are computed by special platform code.
  114. RUN_AT_STARTUP     = Pref( key='RunAtStartup',  default=False,  platformSpecific=True )
  115. MOVIES_DIRECTORY = \
  116.     Pref(key='MoviesDirectory',  default=None, platformSpecific=True)
  117. NON_VIDEO_DIRECTORY = \
  118.     Pref(key='NonVideoDirectory',  default=None, platformSpecific=True)
  119. SUPPORT_DIRECTORY = \
  120.     Pref(key='SupportDirectory', default=None, platformSpecific=True)
  121. THEME_DIRECTORY = \
  122.     Pref(key='ThemeDirectory', default=None, platformSpecific=True)
  123. ICON_CACHE_DIRECTORY = \
  124.     Pref(key='IconCacheDirectory', default=None, platformSpecific=True)
  125. DB_PATHNAME = \
  126.     Pref(key='DBPathname',       default=None, platformSpecific=True)
  127. BSDDB_PATHNAME = \
  128.     Pref(key='BSDDBPathname',    default=None, platformSpecific=True)
  129. SQLITE_PATHNAME = \
  130.     Pref(key='SQLLitePathname',    default=None, platformSpecific=True)
  131. LOG_PATHNAME = \
  132.     Pref(key='LogPathname',      default=None, platformSpecific=True)
  133. DOWNLOADER_LOG_PATHNAME = \
  134.     Pref(key='DownloaderLogPathname', default=None, platformSpecific=True)
  135. GETTEXT_PATHNAME = \
  136.     Pref(key='GetTextPathname', default=None, platformSpecific=True)
  137. HTTP_PROXY_SCHEME = \
  138.     Pref(key='HttpProxyScheme', default='http', platformSpecific=True)
  139. HTTP_PROXY_ACTIVE = \
  140.     Pref(key='HttpProxyActive', default=False, platformSpecific=True)
  141. HTTP_PROXY_HOST = \
  142.     Pref(key='HttpProxyHost',   default=u"", platformSpecific=True)
  143. HTTP_PROXY_PORT = \
  144.     Pref(key='HttpProxyPort',   default=80, platformSpecific=True)
  145. HTTP_PROXY_IGNORE_HOSTS = \
  146.     Pref(key='HttpProxyIgnoreHosts', default=[], platformSpecific=True)
  147. HTTP_PROXY_AUTHORIZATION_ACTIVE = \
  148.     Pref(key='HttpProxyAuthorizationActive', default=False, platformSpecific=True)
  149. HTTP_PROXY_AUTHORIZATION_USERNAME = \
  150.     Pref(key='HttpProxyAuthorizationUsername',   default=u"", platformSpecific=True)
  151. HTTP_PROXY_AUTHORIZATION_PASSWORD = \
  152.     Pref(key='HttpProxyAuthorizationPassword',   default=u"", platformSpecific=True)
  153.  
  154. # These are normally read from resources/app.config.
  155. SHORT_APP_NAME = \
  156.     Pref(key='shortAppName',      default=None, platformSpecific=False)
  157. LONG_APP_NAME = \
  158.     Pref(key='longAppName',       default=None, platformSpecific=False)
  159. PROJECT_URL = \
  160.     Pref(key='projectURL',        default=None, platformSpecific=False)
  161. HELP_URL = \
  162.     Pref(key='helpURL',           default=None, platformSpecific=False)
  163. RECOMMEND_URL = \
  164.     Pref(key='recommendURL',      default=None, platformSpecific=False)
  165. BUG_TRACKER_URL = \
  166.     Pref(key='bugTrackerURL',      default=None, platformSpecific=False)
  167. PUBLISHER = \
  168.     Pref(key='publisher',         default=None, platformSpecific=False)
  169. APP_VERSION = \
  170.     Pref(key='appVersion',        default=None, platformSpecific=False)
  171. APP_REVISION = \
  172.     Pref(key='appRevision',       default=None, platformSpecific=False)
  173. APP_PLATFORM = \
  174.     Pref(key='appPlatform',       default=None, platformSpecific=False)
  175. APP_SERIAL = \
  176.     Pref(key='appSerial-unknown', default=u"0",  platformSpecific=False)
  177. MOZILLA_LIB_PATH = \
  178.     Pref(key='mozillaLibPath',    default=None, platformSpecific=False)
  179. BUILD_MACHINE = \
  180.     Pref(key='buildMachine',      default=None, platformSpecific=False)
  181. BUILD_TIME = \
  182.     Pref(key='buildTime',         default=None, platformSpecific=False)
  183. MAXIMIZE_ON_FIRST_RUN = \
  184.     Pref(key='maximizeOnFirstRun',default=None, platformSpecific=False)
  185. DEFAULT_CHANNELS_FILE = \
  186.     Pref(key='defaultChannelsFile',default=None, platformSpecific=False)
  187. THEME_NAME = \
  188.     Pref(key='themeName',default=None, platformSpecific=False)
  189.